package com.material.factory.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.material.common.annotation.Excel;
import com.material.common.core.domain.BaseEntity;

/**
 * 燃料检测结算奖惩规则对象 factory_fuel_rule
 * 
 * @author ruoyi
 * @date 2025-05-07
 */
public class FactoryFuelRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 工厂id */
    @Excel(name = "工厂id")
    private Long factoryId;

    /** 燃料id */
    @Excel(name = "燃料id")
    private Long fuelId;

    /** 燃料属性id */
    private Long attributeId;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleName;

    /** 规则区间开始值 */
    @Excel(name = "规则区间开始值")
    private String ruleStartValue;

    /** 规则区间结束值 */
    @Excel(name = "规则区间结束值")
    private String ruleEndValue;

    /** 奖惩金额 */
    @Excel(name = "奖惩金额")
    private BigDecimal rewardsPenaltiesPrice;

    /** 奖惩：0.奖励，1.罚款 */
    @Excel(name = "奖惩：0.奖励，1.罚款")
    private Integer type;

    /** 奖惩计量单位：1.基于燃料重量，2.基于属性值 */
    private Integer meteringUnit;

    /**
     * 扣减方式：1.价格，2.按数量
     */
    private Integer deductMethod;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFactoryId(Long factoryId) 
    {
        this.factoryId = factoryId;
    }

    public Long getFactoryId() 
    {
        return factoryId;
    }
    public void setFuelId(Long fuelId) 
    {
        this.fuelId = fuelId;
    }

    public Long getFuelId() 
    {
        return fuelId;
    }
    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }

    public void setRewardsPenaltiesPrice(BigDecimal rewardsPenaltiesPrice) 
    {
        this.rewardsPenaltiesPrice = rewardsPenaltiesPrice;
    }

    public BigDecimal getRewardsPenaltiesPrice() 
    {
        return rewardsPenaltiesPrice;
    }

    public Long getAttributeId() {
        return attributeId;
    }

    public void setAttributeId(Long attributeId) {
        this.attributeId = attributeId;
    }

    public String getRuleStartValue() {
        return ruleStartValue;
    }

    public void setRuleStartValue(String ruleStartValue) {
        this.ruleStartValue = ruleStartValue;
    }

    public String getRuleEndValue() {
        return ruleEndValue;
    }

    public void setRuleEndValue(String ruleEndValue) {
        this.ruleEndValue = ruleEndValue;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getMeteringUnit() {
        return meteringUnit;
    }

    public void setMeteringUnit(Integer meteringUnit) {
        this.meteringUnit = meteringUnit;
    }

    public Integer getDeductMethod() {
        return deductMethod;
    }

    public void setDeductMethod(Integer deductMethod) {
        this.deductMethod = deductMethod;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryId", getFactoryId())
            .append("fuelId", getFuelId())
            .append("ruleName", getRuleName())
            .append("rewardsPenaltiesPrice", getRewardsPenaltiesPrice())
            .toString();
    }
}
